package strategy;

import strategy.impl.Guanyu;
import strategy.impl.Panfeng;
import strategy.impl.Yushe;

import java.util.HashMap;
import java.util.Map;

/**
 * 策略工厂
 *
 * @author 1
 * @version 1.0
 * @description: TODO
 * @date 2024-11-27 14:16
 */
public class StrategyFactory {

    /**
     * 俞涉‌：俞涉是袁术的骁将，他主动请缨出战华雄，但不到三个回合就被华雄斩杀‌2。
     * 潘凤‌：潘凤是冀州太守韩馥的上将，也被派去迎战华雄，但同样被华雄所斩‌2。
     */
    public final Map<String, IStrategy> stringMap = new HashMap<String, IStrategy>() {
        {
            //这些都是三国时期十八路诸侯的大将
            put("1", new Yushe());
            put("2", new Panfeng());
            put("3", new Guanyu());

        }
    };
    //这里面都是大将
    private Map<String, String> qunxiong=new HashMap<String, String>(){
        {
            put("俞涉", "1");
            put("潘凤", "2");
            put("关羽", "3");
        }
    };

    /**
     * 策略
     */
    public IStrategy getStrategy(String key) {
        return stringMap.get(qunxiong.get(key));
    }

}
